package com.dpad.telematicsclientapp.netlibrary.newapp.entity

import com.google.gson.annotations.SerializedName


/**
 * ================================================
 * 作    者：wenbody
 * 版    本：1.0
 * 创建日期：2019/12/25 15:03
 * 描    述：
 * 修订历史：
 * ================================================
 */
data class HomeBean(
        @SerializedName("code")
        val code: String,
        @SerializedName("message")
        val message: String,
        @SerializedName("result")
        val result: Result,
        @SerializedName("total")
        val total: String
) {
    data class Result(
            @SerializedName("activict")
            val activict: String?,
            @SerializedName("appointment")
            val appointment: String?,
            @SerializedName("condition")
            val condition: Condition?,
            @SerializedName("site")
            val site: String?,
            @SerializedName("travelInfo")
            val travelInfo: TravelInfo?,
            @SerializedName("userInfo")
            val userInfo: UserInfo?,
            @SerializedName("weather")
            val weather: Weather?,
            @SerializedName("wifyDate")
            val wifyDate: WifyDate?,
            @SerializedName("function")
            val function: String?,
            @SerializedName("vehicleType")
            val vehicleType: HashMap<String, List<CarData>>?,
            @SerializedName("vehseberVO")
            val vehseberVO: VehseberVO?,
            @SerializedName("carPic")
            var carPic: String?,
            @SerializedName("rcServiceFlag")//1显示，0不显示
            var rcServiceFlag: String?,
            @SerializedName("musicFlag")//1显示，0不显示
            var musicFlag: String?
    ) {
        data class Condition(
                @SerializedName("advise")
                val advise: String?,
                @SerializedName("airbagSystem")
                val airbagSystem: List<Any>,
                @SerializedName("brakingStreeringSystem")
                val brakingStreeringSystem: List<Any>,
                @SerializedName("electronicSystem")
                val electronicSystem: List<Any>,
                @SerializedName("endDate")
                val endDate: String,
                @SerializedName("engineGearboxSystem")
                val engineGearboxSystem: List<Any>,
                @SerializedName("lightingSystem")
                val lightingSystem: List<Any>,
                @SerializedName("maintenanceDay")
                val maintenanceDay: MaintenanceDay,
                @SerializedName("maintenanceDayFlag")
                val maintenanceDayFlag: Boolean,
                @SerializedName("maintenanceMileage")
                val maintenanceMileage: MaintenanceMileage,
                @SerializedName("maintenanceMileageFlag")
                val maintenanceMileageFlag: Boolean,
                @SerializedName("pic")
                val pic: String,
                @SerializedName("startDate")
                val startDate: String,
                @SerializedName("totalScore")
                val totalScore: String?,
                @SerializedName("tpmsSysem")
                val tpmsSysem: List<Any>,
                @SerializedName("vin")
                val vin: String
        ) {
            data class MaintenanceDay(
                    @SerializedName("title")
                    val title: String
            )

            data class MaintenanceMileage(
                    @SerializedName("title")
                    val title: String
            )

            data class LightingSystem(
                    @SerializedName("alertCode")
                    val alertCode: String,
                    @SerializedName("count")
                    val count: String,
                    @SerializedName("name")
                    val name: String
            )
        }

        data class VehseberVO(
                @SerializedName("activite")
                val activite: Any,
                @SerializedName("address")
                val address: Any,
                @SerializedName("advise")
                val advise: Any,
                @SerializedName("fuelOfLeft")
                val fuelOfLeft: Any,
                @SerializedName("lat")
                val lat: Any,
                @SerializedName("lng")
                val lng: Any,
                @SerializedName("maintenanceDay")
                val maintenanceDay: Any,
                @SerializedName("maintenanceMileage")
                val maintenanceMileage: Any,
                @SerializedName("messageInfo")
                val messageInfo: Any,
                @SerializedName("ntspAppBanners")
                val ntspAppBanners: Any,
                @SerializedName("rcIsAbled") //true就是支持远控
                val rcIsAbled: String,
                @SerializedName("rcServiceAble")
                val rcServiceAble: String?,
                @SerializedName("rcServiceDate")
                val rcServiceDate: Any,
                @SerializedName("rcStatus")
                val rcStatus: String,
                @SerializedName("score")
                val score: Any,
                @SerializedName("serviceItemDTOS")
                val serviceItemDTOS: List<Any>,
                @SerializedName("totalMileage")
                val totalMileage: Any,
                @SerializedName("totalScore")
                val totalScore: Any,
                @SerializedName("vehinfos")
                val vehinfos: Any,
                @SerializedName("wifi")
                val wifi: Any)

        data class TravelInfo(
                @SerializedName("averageConsumption")
                val averageConsumption: String?,
                @SerializedName("date")
                val date: String?,
                @SerializedName("endAddress")
                val endAddress: String?,
                @SerializedName("endlat")
                val endlat: String,
                @SerializedName("endlng")
                val endlng: String,
                @SerializedName("mileage")
                val mileage: String?,
                @SerializedName("num")
                val num: Double?,
                @SerializedName("range")
                val range: Double?,
                @SerializedName("driveFlag")
                val driveFlag: Boolean,
                @SerializedName("flag")
                val flag: Boolean,
                @SerializedName("startAddress")
                val startAddress: String?,
                @SerializedName("startlat")
                val startlat: String,
                @SerializedName("startlng")
                val startlng: String,
                @SerializedName("surplusElectricity")
                val surplusElectricity: Double?,
                @SerializedName("weakMileage")
                val weakMileage: String?,
                @SerializedName("electricityNum")
                val electricityNum: Double?,
                @SerializedName("surplusFuel")
                val surplusFuel: Double?
        )

        data class UserInfo(
                @SerializedName("nick")
                val nick: String?,
                @SerializedName("registMum")
                val registMum: String?,
                @SerializedName("userNum")
                val userNum: Double?,
                @SerializedName("userVehType")
                val userVehType: String?,
                @SerializedName("vin")
                val vin: String?
        )


        data class Weather(
                @SerializedName("aqi")
                val aqi: String,
                @SerializedName("ctemperature")
                val ctemperature: Double?,
                @SerializedName("observePublishTime")
                val observePublishTime: String,
                @SerializedName("pm")
                val pm: Double?,
                @SerializedName("pressure")
                val pressure: String,
                @SerializedName("publishTime")
                val publishTime: String,
                @SerializedName("rh")
                val rh: Double?,
                @SerializedName("sendibleTemperature")
                val sendibleTemperature: String,
                @SerializedName("visibility")
                val visibility: String,
                @SerializedName("weatherCode")
                val weatherCode: String,
                @SerializedName("weatherPhenomena")
                val weatherPhenomena: String?,
                @SerializedName("windDirection")
                val windDirection: String?,
                @SerializedName("windDirectionAngle")
                val windDirectionAngle: String,
                @SerializedName("windForce")
                val windForce: String,
                @SerializedName("windSpeed")
                val windSpeed: String
        )

        data class WifyDate(
                @SerializedName("amusement")
                val amusement: String?,
                @SerializedName("music")
                val music: String?,
                @SerializedName("wifi")
                val wifi: String?
        )
    }


    data class CarData(
            @SerializedName("carTypeCode")
            val carTypeCode: String,
            @SerializedName("carTypeName")
            val carTypeName: String,
            @SerializedName("createTime")
            val createTime: String,
            @SerializedName("createUserName")
            val createUserName: String,
            @SerializedName("id")
            val id: String,
            @SerializedName("imageUrls")
            val imageUrls: Any,
            @SerializedName("imgUrl")
            val imgUrl: String,
            @SerializedName("sort")
            val sort: Int,
            @SerializedName("updateTime")
            val updateTime: String,
            @SerializedName("updateUserName")
            val updateUserName: String,
            @SerializedName("check")
            var check: Boolean

    )
}